fix(guidance): hide geocode-bar when starting navigation so Stop is tappable (#175)#176
Conversation
The geocode-bar in peek state covers the bottom ~130 px of the viewport (z-index 1500) above all Leaflet controls. Its drag handle has pointer-events: auto and spans the bar's full width, sitting at the top of the visible peek area. The bottom-left cluster (locate, guidance-panel, zoom, scale, version, attribution) stacks 140-160 px tall, so the guidance pill's Stop button is at the same y-coordinate as the bar's handle. The handle catches every tap intended for Stop — the user reported the button "doesn't respond like it's not a button". Once Navigate is tapped from the bar, the destination is in the guidance pill and the bar is redundant. Hiding it removes the overlap entirely. Closes #175 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Code ReviewOverviewThis is a minimal, well-scoped fix for a real mobile UX bug: the geocode-bar's drag handle (with Code QualityCorrectness ✅ Scope ✅ Minor: comment length // Bar's drag-handle overlaps the guidance pill's Stop button at this y-coord (#175).
hideGeocodeBar();The issue number is enough for future readers to trace the full backstory. Not a blocker, but worth tightening. Test Coverage
No concerns on
VerdictApprove with nit. The logic is correct, the scope is tight, and the PR description thoroughly explains the root cause. Only suggestion is collapsing the comment to a single line per project style. Ready to merge once the manual checklist items are ticked off. |
Per PR #176 review nit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Code ReviewSummary: Minimal, well-targeted bug fix. Adds Correctness ✅
One minor observationIf Code style ✅The comment explains the non-obvious why (z-index/layout collision, issue reference) rather than the what — exactly right per project conventions. Tests ✅No unit-testable logic changed; the fix is a DOM event handler interaction. The test plan's manual checklist covers the affected flows, and the existing 633-test suite passes. Verdict: Looks good to merge. The fix is correct, minimal, and consistent with the rest of the file. |
…n on Navigate here (#177) (#178) * fix(geocoding): make Navigate tappable in peek + close search dropdown on Navigate here Two related taps were silently swallowed. 1. Geocode-bar Navigate button missing from peek pointer-events opt-in. The bar in peek state has pointer-events: none and only handle/copy/close/addr were explicitly opted back in. On mobile Safari the implicit child-receives-events behaviour for a pointer-events: none parent is unreliable, so .geocode-bar__nav silently dropped taps. Add it to the opt-in list. Without Navigate firing, hideGeocodeBar() from #176 never ran, so the bar stayed visible and the guidance pill's Stop button was still under the bar's drag handle. 2. Search dropdown's Navigate here handler started guidance without closing the dropdown. The dropdown sits at z-index 2000 above the guidance pill and on smaller viewports can overlap its action area; also a UX nit (stale chrome). Add hideDropdown() to the click handler. Closes #177 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix: drop issue ref from inline comment per CLAUDE.md Per PR #178 review nit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Test <test@test.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
position: fixed; bottom: 0; height: 60vh; z-index: 1500) in peek state covers the bottom ~130 px of the viewport above all Leaflet controls.pointer-events: autoand spans the bar's full width, sitting at the top of the visible peek area — at the same y-coordinate as the guidance pill's Stop button at the bottom of the bottom-left control cluster.Fix
Call
hideGeocodeBar()from the geocode-bar's Navigate click handler beforestartGuidance()runs. Once guidance starts, the bar's information is redundant (the pill shows the destination) and keeping it open just blocks taps on the pill's controls.Why this is the right scope
The other entry points to guidance don't have the overlap:
sheet-result__nav-btn) starts guidance directly without showing the bar.So narrowly hiding the bar from its own Navigate click handler addresses every flow that reaches the bug.
Closes #175.
Test plan
npm run type-checkcleannpm run lintcleannpm testclean (633 tests)🤖 Generated with Claude Code